package com.atguigu.gulimall.search.vo;

import com.atguigu.common.to.es.SkuEsModel;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author : Jungle
 * @Description :
 */
@Data
public class SearchResult {
    /**
     * 查询到的所有商品信息
     */
    private List<SkuEsModel> products;
    /**
     * 分页信息
     * 1、当前页码
     * 2.总记录数
     * 3.总页码
     */
    private Integer pageNum;
    private Long total;
    private Integer totalPages;
    /**
     * 导航页码
     */
    private List<Integer> pageNavs;
    /**
     * 当前查询到的结果，所有涉及到的品牌
     */
    private List<BrandVo> brands;
    /**
     * 当前查询到的结果，所有涉及到的所有分类
     */
    private List<CatalogVo> catalogs;
    /**
     * 当前查询到的结果，所涉及的所有属性
     */
    private List<AttrVo> attrs;

    //==============以上是返回页面的所有信息======================

    /**
     * 面包屑导航数据 如果有数据，会覆盖这个，如果没有数据会使用这个空 list
     */
    private List<NavVo> navs=new ArrayList<>();
    private List<Long> attrIds=new ArrayList<>();
    @Data
    public static class NavVo {
        private String navName;
        private String navValue;
        /**
         * 关联地址
         */
        private String link;
    }

    @Data
    public static class BrandVo {
        private Long brandId;
        private String brandName;
        private String brandImg;
    }

    /**
     * 分类的vo
     */
    @Data
    public static class CatalogVo {
        private Long catalogId;
        private String catalogName;
    }

    /**
     * 属性信息
     */
    @Data
    public static class AttrVo {
        private Long attrId;
        private String attrName;
        private List<String> attrValue;
    }
}
